www.gusucode.com > VC 图书管理系统源码程序 > VC 图书管理系统/VC 图书管理系统/图书管理系统/LendOutDlg.cpp
// LendOutDlg.cpp : implementation file // #include "stdafx.h" #include "Library.h" #include "LendOutDlg.h" #include "BorrowDataSet.h" #include "ReaderDataSet.h" #include "BookDataSet.h" #include "MainFrm.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // CLendOutDlg dialog CLendOutDlg::CLendOutDlg(CWnd* pParent /*=NULL*/) : CDialog(CLendOutDlg::IDD, pParent) { //{{AFX_DATA_INIT(CLendOutDlg) m_strBookID = _T(""); m_strReaderID = _T(""); //}}AFX_DATA_INIT } void CLendOutDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CLendOutDlg) DDX_Text(pDX, IDC_BOOK_ID, m_strBookID); DDV_MaxChars(pDX, m_strBookID, 8); DDX_Text(pDX, IDC_READER_ID, m_strReaderID); DDV_MaxChars(pDX, m_strReaderID, 8); //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(CLendOutDlg, CDialog) //{{AFX_MSG_MAP(CLendOutDlg) ON_BN_CLICKED(IDC_CONFIRM, OnConfirm) ON_BN_CLICKED(IDC_CANCEL, OnCancel) //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CLendOutDlg message handlers void CLendOutDlg::OnConfirm() { // TODO: Add your control notification handler code here //int m_nMaxNum; BOOL m_bCanBorrow; BOOL m_bCanLendOut; m_bCanBorrow = FALSE; m_bCanLendOut = FALSE; CString mSqlStr; UpdateData(TRUE); // mSqlStr = "SELECT * FROM READER WHERE READER_ID='" + m_strReaderID; // mSqlStr = "SELECT FLAG_BORROW,READER_ID FROM READER"; // mSqlStr = mSqlStr + "'"; // if (!m_rsReaderDataSet.Open(AFX_DB_USE_DEFAULT_TYPE, mSqlStr)) if (!m_rsReaderDataSet.Open(AFX_DB_USE_DEFAULT_TYPE)) { AfxMessageBox("数据表打开错误!"); return; } m_rsReaderDataSet.m_strFilter = "READER_ID='" + m_strReaderID; m_rsReaderDataSet.m_strFilter = m_rsReaderDataSet.m_strFilter + "'"; m_rsReaderDataSet.Requery(); if (!m_rsReaderDataSet.IsEOF()) { if (m_rsReaderDataSet.m_FLAG_BORROW == "Y") { mSqlStr = "SELECT * FROM BORROW WHERE READER_ID= '" + m_strReaderID; mSqlStr = mSqlStr + "'"; if (!m_rsDataSet.Open(AFX_DB_USE_DEFAULT_TYPE,mSqlStr)) { m_rsReaderDataSet.Close(); AfxMessageBox("数据表打开错误!"); return; } // Add some code to determine the num of book which this reader borrowed. m_bCanBorrow = TRUE; m_rsDataSet.Close(); } } m_rsReaderDataSet.Close(); if (!m_bCanBorrow) { AfxMessageBox("读者不能借书!"); return; } mSqlStr = "SELECT * FROM BOOK WHERE BOOK_ID='" + m_strBookID; mSqlStr = mSqlStr + "'"; if(!m_rsBookDataSet.Open(AFX_DB_USE_DEFAULT_TYPE, mSqlStr)) { AfxMessageBox("数据表打开错误!"); return ; } if (!m_rsBookDataSet.IsEOF()) { if (m_rsBookDataSet.m_FLAG_BORROW == "Y") { m_bCanLendOut = TRUE; } else { AfxMessageBox("此书不外借! "); m_rsBookDataSet.Close(); return; } } else { AfxMessageBox("无此书!"); m_rsBookDataSet.Close(); return; } m_rsBookDataSet.Close(); CMainFrame *pWnd; pWnd = (CMainFrame *)this->GetParent(); CString m_strUserID; m_strUserID = pWnd->m_strUserID ; // mSqlStr = "INSERT INTO BORROW (READER_ID, BOOK_ID, BORROW_DATE, B_CLERK_ID) VALUES('"; mSqlStr = "INSERT INTO BORROW (READER_ID, BOOK_ID, B_CLERK_ID) VALUES('"; mSqlStr = mSqlStr + m_strReaderID; mSqlStr = mSqlStr + "','"; mSqlStr = mSqlStr + m_strBookID; mSqlStr = mSqlStr + "','"; // mSqlStr = mSqlStr + "', SYSDATE,'"; mSqlStr = mSqlStr + m_strUserID; mSqlStr = mSqlStr + "')"; CDatabase mDB; if (!mDB.Open(_T("Library"))) { AfxMessageBox("无法打开数据库!"); return; } try { mDB.ExecuteSQL(mSqlStr); } catch(CDBException e) { AfxMessageBox("执行错!"); return; } mDB.Close(); AfxMessageBox("操作成功!"); } void CLendOutDlg::OnCancel() { // TODO: Add your control notification handler code here CDialog::OnCancel(); } BOOL CLendOutDlg::OnInitDialog() { CDialog::OnInitDialog(); // TODO: Add extra initialization here return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE }